package com.qf.mapper;

import com.qf.entity.Menu;
import com.qf.entity.Role;
import com.qf.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 2019/12/11
 * 郭程鹏
 * springboot_oa_five
 * 面向代码面向君,不负时光不负卿
 */

public interface RoleMapper {

    //模糊查
    List<Role> findRoles(@Param("roleName") String roleName);

    //excle
    List<Role> getExcle(@Param("list") List<Integer> list);

    //批量删除
    void  deleteAll(@Param("list") List<Integer> list);

    //删除一条数据
    void deleteOne(@Param("roleId") Integer roleId);

    //判断是否可删
    List<String> checkCanDel(@Param("roleId") Integer roleId);

    //禁用
    void updateOne(@Param("roleId") Integer roleId);

    //启用
    void activeOne(@Param("roleId") Integer roleId);

    //查询所有菜单
    List<Menu> findMenu();

    //异步校验用户名
    Integer ajaxRoleName(@Param("roleName") String roleName);

    //添加角色
    Integer addRole(Role role);
    //添加角色菜单
    Integer addRoleMenu(@Param("roleId") Integer roleId,@Param("menuId") Integer menuId);


    //根据角色编号查询角色
    Role findRoleById(@Param("roleId") Integer roleId);

    //删除角色菜单中间表
    void delMenuIdByUserIdInMiddle(@Param("roleId") Integer roleId);
    //修改角色信息
    Integer updateRole(Role role);

}
